package edu.kjxy.day03.StringAndSyn;

/**
 * 功能:打印一直是A
 * 因为String的两个值都是AA，两个线程持有相同的锁，所以造成线程B不能执行。
 * 这就是String常量池所带来的问题。
 * 大多数情况下，同步synchronized代码快都不使用String作为锁对象，而
 * 改用其他，比如new object()实例化一个Object对象，但他不放入缓存中
 * 作者:程序员欧阳子韩
 * 日期:2024/2/2 20:28
 */
public class RunTest {
    public static void main(String[] args) {
        Service service = new Service();
        ThreadA a = new ThreadA(service);
        a.setName("A");
        a.start();
        ThreadB b = new ThreadB(service);
        b.setName("B");
        b.start();
    }
}
